package Guigu2.Arrayutil;

public class ArrayUtil {

	//求数组的最大值
	public int getMax(int arr[])
	{
		int max = arr[0];
		for(int i=0;i<arr.length;i++)
		{
			if(max<arr[i])
			{
				max = arr[i];
			}
		}
		return max;
	}
	
	//求数组的最小值
	public int getMin(int arr[])
	{
		int min =arr[0];
		for(int i=0;i<arr.length;i++)
		{
			if(min>arr[i])
			{
				min = arr[i];
			}
		}
		return min;
	}
	
	//求数组的总和
	public int getSum(int arr[])
	{
		int sum = 0;
		for(int i=0;i<arr.length;i++)
		{
			sum+=arr[i];
		}
		return sum;
	}
	
	//求数组的平均值
	public double getAvage(int arr[])
	{
		double avage = getSum(arr)/arr.length;
		return avage;
	}
	
	//反转数组
	public void reverse(int arr[])
	{
		for(int i=0;i<arr.length/2;i++)
		{
			int temp = arr[i];
			arr[i] = arr[arr.length - i - 1];
			arr[arr.length - i - 1] = temp;
		}
	}
	
	//复制数组
	public void copy(int arr[])//返回数组类型
	{
		int arr1[] = new int[arr.length];
		for(int i=0;i<arr.length;i++)
		{
			arr1[i] = arr[i];
		}
		for(int i=0;i<arr1.length;i++) {
			System.out.print(arr1[i]+"  ");
		}
	}
	
	//数组排序
	public void sort(int arr[])
	{
		for(int i=0;i<arr.length - 1;i++)
		{
			for(int j=0;j<arr.length - i - 1;j++)
			{
				if(arr[j]>arr[j+1])
				{
					int temp = arr[j];
					arr[j] = arr[j+1];
					arr[j+1] = temp;
				}
			}
		}
	}
	
	//查找元素（线性查找）
	public int getIndex(int index,int arr[])
	{
		for(int i=0;i<arr.length;i++)
		{
			if(index == arr[i])
			{
				return i;
			}
		}
		return -1;
	}
}
